﻿using System;

namespace LAPI.Data.Exception 
{
    /// <summary>
    /// Excepción de tipo 'parametro incorrecto o no encontrado'
    /// </summary>
    public class ParamException : System.Exception
    {
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="modelString"></param>
        /// <param name="parametroError"></param>
        public ParamException(String modelString, String parametroError)
            : base(message: "El parámetro '" + parametroError + "' no tiene valor correcto, o no se encuentra." + modelString)
        {
        }
    }

    /// <summary>
    /// Excepción de tipo 'imposible conectar'
    /// </summary>
    public class ConnectException : System.Exception
    {
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="cadenaConexion"></param>
        /// <param name="excepcion"></param>
        public ConnectException(String cadenaConexion, System.Exception excepcion)
            : base(message: "Cadena conexión:" + cadenaConexion
            , innerException: excepcion )            
        {
        }
    }

    /// <summary>
    /// Excepción de tipo 'consulta no válida'
    /// </summary>
    public class QueryException : System.Exception
    {
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="consultaSQL"></param>
        /// <param name="excepcion"></param>
        public QueryException(String consultaSQL, System.Exception excepcion)
            : base(message: "Consulta:" + consultaSQL
            , innerException: excepcion)
        {
        }
    }
}
